package clasificador.redneuronal.neurona;

/* Esta clase se utiliza para poder implementar el Perceptron Simple como una red neuronal general */
/* Es una neurona que no se entrena, que espera un solo input, y que devuelve
 * el complementario (1-x) de la entrada. Asi, en problemas de dos clases, tenemos esta
 * conectada a la neurona de salida y la utilizamos para la segunda clase.
 */
public class NeuronaComplementaria extends Neurona {

	@Override
	public double errorFunction(double[] errors) {
		return errors[0];
	}

	@Override
	public double activationFunction(double[] inputs) {
		return 1-inputs[0];
	}

	@Override
	public double derivative(int i, double[] inputs, double output) {
		return -1;
	}

	@Override
	public void train(double learningCoefficient) {
		return;
	}
	
	@Override
	public void init()
	{
		return;
	}

}
